/**
 *
 * RenderPipeline
 *
 * Copyright (c) 2014-2016 tobspr <tobias.springer1@gmail.com>
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 */

// Halton sequences


CONST_ARRAY vec2 halton_2D_4[4] = vec2[](
    vec2(0.00000, -0.33333),
    vec2(-0.50000, 0.33333),
    vec2(0.50000, -0.77778),
    vec2(-0.75000, -0.11111)
);

CONST_ARRAY vec2 halton_2D_8[8] = vec2[](
    vec2(0.00000, -0.33333),
    vec2(-0.50000, 0.33333),
    vec2(0.50000, -0.77778),
    vec2(-0.75000, -0.11111),
    vec2(0.25000, 0.55556),
    vec2(-0.25000, -0.55556),
    vec2(0.75000, 0.11111),
    vec2(-0.87500, 0.77778)
);

CONST_ARRAY vec2 halton_2D_16[16] = vec2[](
    vec2(0.00000, -0.33333),
    vec2(-0.50000, 0.33333),
    vec2(0.50000, -0.77778),
    vec2(-0.75000, -0.11111),
    vec2(0.25000, 0.55556),
    vec2(-0.25000, -0.55556),
    vec2(0.75000, 0.11111),
    vec2(-0.87500, 0.77778),
    vec2(0.12500, -0.92593),
    vec2(-0.37500, -0.25926),
    vec2(0.62500, 0.40741),
    vec2(-0.62500, -0.70370),
    vec2(0.37500, -0.03704),
    vec2(-0.12500, 0.62963),
    vec2(0.87500, -0.48148),
    vec2(-0.93750, 0.18519)
);

CONST_ARRAY vec2 halton_2D_32[32] = vec2[](
    vec2(0.00000, -0.33333),
    vec2(-0.50000, 0.33333),
    vec2(0.50000, -0.77778),
    vec2(-0.75000, -0.11111),
    vec2(0.25000, 0.55556),
    vec2(-0.25000, -0.55556),
    vec2(0.75000, 0.11111),
    vec2(-0.87500, 0.77778),
    vec2(0.12500, -0.92593),
    vec2(-0.37500, -0.25926),
    vec2(0.62500, 0.40741),
    vec2(-0.62500, -0.70370),
    vec2(0.37500, -0.03704),
    vec2(-0.12500, 0.62963),
    vec2(0.87500, -0.48148),
    vec2(-0.93750, 0.18519),
    vec2(0.06250, 0.85185),
    vec2(-0.43750, -0.85185),
    vec2(0.56250, -0.18519),
    vec2(-0.68750, 0.48148),
    vec2(0.31250, -0.62963),
    vec2(-0.18750, 0.03704),
    vec2(0.81250, 0.70370),
    vec2(-0.81250, -0.40741),
    vec2(0.18750, 0.25926),
    vec2(-0.31250, 0.92593),
    vec2(0.68750, -0.97531),
    vec2(-0.56250, -0.30864),
    vec2(0.43750, 0.35802),
    vec2(-0.06250, -0.75309),
    vec2(0.93750, -0.08642),
    vec2(-0.96875, 0.58025)
);

CONST_ARRAY vec2 halton_2D_64[64] = vec2[](
    vec2(0.00000, -0.33333),
    vec2(-0.50000, 0.33333),
    vec2(0.50000, -0.77778),
    vec2(-0.75000, -0.11111),
    vec2(0.25000, 0.55556),
    vec2(-0.25000, -0.55556),
    vec2(0.75000, 0.11111),
    vec2(-0.87500, 0.77778),
    vec2(0.12500, -0.92593),
    vec2(-0.37500, -0.25926),
    vec2(0.62500, 0.40741),
    vec2(-0.62500, -0.70370),
    vec2(0.37500, -0.03704),
    vec2(-0.12500, 0.62963),
    vec2(0.87500, -0.48148),
    vec2(-0.93750, 0.18519),
    vec2(0.06250, 0.85185),
    vec2(-0.43750, -0.85185),
    vec2(0.56250, -0.18519),
    vec2(-0.68750, 0.48148),
    vec2(0.31250, -0.62963),
    vec2(-0.18750, 0.03704),
    vec2(0.81250, 0.70370),
    vec2(-0.81250, -0.40741),
    vec2(0.18750, 0.25926),
    vec2(-0.31250, 0.92593),
    vec2(0.68750, -0.97531),
    vec2(-0.56250, -0.30864),
    vec2(0.43750, 0.35802),
    vec2(-0.06250, -0.75309),
    vec2(0.93750, -0.08642),
    vec2(-0.96875, 0.58025),
    vec2(0.03125, -0.53086),
    vec2(-0.46875, 0.13580),
    vec2(0.53125, 0.80247),
    vec2(-0.71875, -0.90123),
    vec2(0.28125, -0.23457),
    vec2(-0.21875, 0.43210),
    vec2(0.78125, -0.67901),
    vec2(-0.84375, -0.01235),
    vec2(0.15625, 0.65432),
    vec2(-0.34375, -0.45679),
    vec2(0.65625, 0.20988),
    vec2(-0.59375, 0.87654),
    vec2(0.40625, -0.82716),
    vec2(-0.09375, -0.16049),
    vec2(0.90625, 0.50617),
    vec2(-0.90625, -0.60494),
    vec2(0.09375, 0.06173),
    vec2(-0.40625, 0.72840),
    vec2(0.59375, -0.38272),
    vec2(-0.65625, 0.28395),
    vec2(0.34375, 0.95062),
    vec2(-0.15625, -0.95062),
    vec2(0.84375, -0.28395),
    vec2(-0.78125, 0.38272),
    vec2(0.21875, -0.72840),
    vec2(-0.28125, -0.06173),
    vec2(0.71875, 0.60494),
    vec2(-0.53125, -0.50617),
    vec2(0.46875, 0.16049),
    vec2(-0.03125, 0.82716),
    vec2(0.96875, -0.87654),
    vec2(-0.98438, -0.20988)
);

CONST_ARRAY vec2 halton_2D_128[128] = vec2[](
    vec2(0.00000, -0.33333),
    vec2(-0.50000, 0.33333),
    vec2(0.50000, -0.77778),
    vec2(-0.75000, -0.11111),
    vec2(0.25000, 0.55556),
    vec2(-0.25000, -0.55556),
    vec2(0.75000, 0.11111),
    vec2(-0.87500, 0.77778),
    vec2(0.12500, -0.92593),
    vec2(-0.37500, -0.25926),
    vec2(0.62500, 0.40741),
    vec2(-0.62500, -0.70370),
    vec2(0.37500, -0.03704),
    vec2(-0.12500, 0.62963),
    vec2(0.87500, -0.48148),
    vec2(-0.93750, 0.18519),
    vec2(0.06250, 0.85185),
    vec2(-0.43750, -0.85185),
    vec2(0.56250, -0.18519),
    vec2(-0.68750, 0.48148),
    vec2(0.31250, -0.62963),
    vec2(-0.18750, 0.03704),
    vec2(0.81250, 0.70370),
    vec2(-0.81250, -0.40741),
    vec2(0.18750, 0.25926),
    vec2(-0.31250, 0.92593),
    vec2(0.68750, -0.97531),
    vec2(-0.56250, -0.30864),
    vec2(0.43750, 0.35802),
    vec2(-0.06250, -0.75309),
    vec2(0.93750, -0.08642),
    vec2(-0.96875, 0.58025),
    vec2(0.03125, -0.53086),
    vec2(-0.46875, 0.13580),
    vec2(0.53125, 0.80247),
    vec2(-0.71875, -0.90123),
    vec2(0.28125, -0.23457),
    vec2(-0.21875, 0.43210),
    vec2(0.78125, -0.67901),
    vec2(-0.84375, -0.01235),
    vec2(0.15625, 0.65432),
    vec2(-0.34375, -0.45679),
    vec2(0.65625, 0.20988),
    vec2(-0.59375, 0.87654),
    vec2(0.40625, -0.82716),
    vec2(-0.09375, -0.16049),
    vec2(0.90625, 0.50617),
    vec2(-0.90625, -0.60494),
    vec2(0.09375, 0.06173),
    vec2(-0.40625, 0.72840),
    vec2(0.59375, -0.38272),
    vec2(-0.65625, 0.28395),
    vec2(0.34375, 0.95062),
    vec2(-0.15625, -0.95062),
    vec2(0.84375, -0.28395),
    vec2(-0.78125, 0.38272),
    vec2(0.21875, -0.72840),
    vec2(-0.28125, -0.06173),
    vec2(0.71875, 0.60494),
    vec2(-0.53125, -0.50617),
    vec2(0.46875, 0.16049),
    vec2(-0.03125, 0.82716),
    vec2(0.96875, -0.87654),
    vec2(-0.98438, -0.20988),
    vec2(0.01562, 0.45679),
    vec2(-0.48438, -0.65432),
    vec2(0.51562, 0.01235),
    vec2(-0.73438, 0.67901),
    vec2(0.26562, -0.43210),
    vec2(-0.23438, 0.23457),
    vec2(0.76562, 0.90123),
    vec2(-0.85938, -0.80247),
    vec2(0.14062, -0.13580),
    vec2(-0.35938, 0.53086),
    vec2(0.64062, -0.58025),
    vec2(-0.60938, 0.08642),
    vec2(0.39062, 0.75309),
    vec2(-0.10938, -0.35802),
    vec2(0.89062, 0.30864),
    vec2(-0.92188, 0.97531),
    vec2(0.07812, -0.99177),
    vec2(-0.42188, -0.32510),
    vec2(0.57812, 0.34156),
    vec2(-0.67188, -0.76955),
    vec2(0.32812, -0.10288),
    vec2(-0.17188, 0.56379),
    vec2(0.82812, -0.54733),
    vec2(-0.79688, 0.11934),
    vec2(0.20312, 0.78601),
    vec2(-0.29688, -0.91770),
    vec2(0.70312, -0.25103),
    vec2(-0.54688, 0.41564),
    vec2(0.45312, -0.69547),
    vec2(-0.04688, -0.02881),
    vec2(0.95312, 0.63786),
    vec2(-0.95312, -0.47325),
    vec2(0.04688, 0.19342),
    vec2(-0.45312, 0.86008),
    vec2(0.54688, -0.84362),
    vec2(-0.70312, -0.17695),
    vec2(0.29688, 0.48971),
    vec2(-0.20312, -0.62140),
    vec2(0.79688, 0.04527),
    vec2(-0.82812, 0.71193),
    vec2(0.17188, -0.39918),
    vec2(-0.32812, 0.26749),
    vec2(0.67188, 0.93416),
    vec2(-0.57812, -0.96708),
    vec2(0.42188, -0.30041),
    vec2(-0.07812, 0.36626),
    vec2(0.92188, -0.74486),
    vec2(-0.89062, -0.07819),
    vec2(0.10938, 0.58848),
    vec2(-0.39062, -0.52263),
    vec2(0.60938, 0.14403),
    vec2(-0.64062, 0.81070),
    vec2(0.35938, -0.89300),
    vec2(-0.14062, -0.22634),
    vec2(0.85938, 0.44033),
    vec2(-0.76562, -0.67078),
    vec2(0.23438, -0.00412),
    vec2(-0.26562, 0.66255),
    vec2(0.73438, -0.44856),
    vec2(-0.51562, 0.21811),
    vec2(0.48438, 0.88477),
    vec2(-0.01562, -0.81893),
    vec2(0.98438, -0.15226),
    vec2(-0.99219, 0.51440)
);

CONST_ARRAY vec3 halton_3D_4[4] = vec3[](
    vec3(0.00000, -0.33333, -0.60000),
    vec3(-0.50000, 0.33333, -0.20000),
    vec3(0.50000, -0.77778, 0.20000),
    vec3(-0.75000, -0.11111, 0.60000)
);

CONST_ARRAY vec3 halton_3D_8[8] = vec3[](
    vec3(0.00000, -0.33333, -0.60000),
    vec3(-0.50000, 0.33333, -0.20000),
    vec3(0.50000, -0.77778, 0.20000),
    vec3(-0.75000, -0.11111, 0.60000),
    vec3(0.25000, 0.55556, -0.92000),
    vec3(-0.25000, -0.55556, -0.52000),
    vec3(0.75000, 0.11111, -0.12000),
    vec3(-0.87500, 0.77778, 0.28000)
);

CONST_ARRAY vec3 halton_3D_16[16] = vec3[](
    vec3(0.00000, -0.33333, -0.60000),
    vec3(-0.50000, 0.33333, -0.20000),
    vec3(0.50000, -0.77778, 0.20000),
    vec3(-0.75000, -0.11111, 0.60000),
    vec3(0.25000, 0.55556, -0.92000),
    vec3(-0.25000, -0.55556, -0.52000),
    vec3(0.75000, 0.11111, -0.12000),
    vec3(-0.87500, 0.77778, 0.28000),
    vec3(0.12500, -0.92593, 0.68000),
    vec3(-0.37500, -0.25926, -0.84000),
    vec3(0.62500, 0.40741, -0.44000),
    vec3(-0.62500, -0.70370, -0.04000),
    vec3(0.37500, -0.03704, 0.36000),
    vec3(-0.12500, 0.62963, 0.76000),
    vec3(0.87500, -0.48148, -0.76000),
    vec3(-0.93750, 0.18519, -0.36000)
);

CONST_ARRAY vec3 halton_3D_32[32] = vec3[](
    vec3(0.00000, -0.33333, -0.60000),
    vec3(-0.50000, 0.33333, -0.20000),
    vec3(0.50000, -0.77778, 0.20000),
    vec3(-0.75000, -0.11111, 0.60000),
    vec3(0.25000, 0.55556, -0.92000),
    vec3(-0.25000, -0.55556, -0.52000),
    vec3(0.75000, 0.11111, -0.12000),
    vec3(-0.87500, 0.77778, 0.28000),
    vec3(0.12500, -0.92593, 0.68000),
    vec3(-0.37500, -0.25926, -0.84000),
    vec3(0.62500, 0.40741, -0.44000),
    vec3(-0.62500, -0.70370, -0.04000),
    vec3(0.37500, -0.03704, 0.36000),
    vec3(-0.12500, 0.62963, 0.76000),
    vec3(0.87500, -0.48148, -0.76000),
    vec3(-0.93750, 0.18519, -0.36000),
    vec3(0.06250, 0.85185, 0.04000),
    vec3(-0.43750, -0.85185, 0.44000),
    vec3(0.56250, -0.18519, 0.84000),
    vec3(-0.68750, 0.48148, -0.68000),
    vec3(0.31250, -0.62963, -0.28000),
    vec3(-0.18750, 0.03704, 0.12000),
    vec3(0.81250, 0.70370, 0.52000),
    vec3(-0.81250, -0.40741, 0.92000),
    vec3(0.18750, 0.25926, -0.98400),
    vec3(-0.31250, 0.92593, -0.58400),
    vec3(0.68750, -0.97531, -0.18400),
    vec3(-0.56250, -0.30864, 0.21600),
    vec3(0.43750, 0.35802, 0.61600),
    vec3(-0.06250, -0.75309, -0.90400),
    vec3(0.93750, -0.08642, -0.50400),
    vec3(-0.96875, 0.58025, -0.10400)
);

CONST_ARRAY vec3 halton_3D_64[64] = vec3[](
    vec3(0.00000, -0.33333, -0.60000),
    vec3(-0.50000, 0.33333, -0.20000),
    vec3(0.50000, -0.77778, 0.20000),
    vec3(-0.75000, -0.11111, 0.60000),
    vec3(0.25000, 0.55556, -0.92000),
    vec3(-0.25000, -0.55556, -0.52000),
    vec3(0.75000, 0.11111, -0.12000),
    vec3(-0.87500, 0.77778, 0.28000),
    vec3(0.12500, -0.92593, 0.68000),
    vec3(-0.37500, -0.25926, -0.84000),
    vec3(0.62500, 0.40741, -0.44000),
    vec3(-0.62500, -0.70370, -0.04000),
    vec3(0.37500, -0.03704, 0.36000),
    vec3(-0.12500, 0.62963, 0.76000),
    vec3(0.87500, -0.48148, -0.76000),
    vec3(-0.93750, 0.18519, -0.36000),
    vec3(0.06250, 0.85185, 0.04000),
    vec3(-0.43750, -0.85185, 0.44000),
    vec3(0.56250, -0.18519, 0.84000),
    vec3(-0.68750, 0.48148, -0.68000),
    vec3(0.31250, -0.62963, -0.28000),
    vec3(-0.18750, 0.03704, 0.12000),
    vec3(0.81250, 0.70370, 0.52000),
    vec3(-0.81250, -0.40741, 0.92000),
    vec3(0.18750, 0.25926, -0.98400),
    vec3(-0.31250, 0.92593, -0.58400),
    vec3(0.68750, -0.97531, -0.18400),
    vec3(-0.56250, -0.30864, 0.21600),
    vec3(0.43750, 0.35802, 0.61600),
    vec3(-0.06250, -0.75309, -0.90400),
    vec3(0.93750, -0.08642, -0.50400),
    vec3(-0.96875, 0.58025, -0.10400),
    vec3(0.03125, -0.53086, 0.29600),
    vec3(-0.46875, 0.13580, 0.69600),
    vec3(0.53125, 0.80247, -0.82400),
    vec3(-0.71875, -0.90123, -0.42400),
    vec3(0.28125, -0.23457, -0.02400),
    vec3(-0.21875, 0.43210, 0.37600),
    vec3(0.78125, -0.67901, 0.77600),
    vec3(-0.84375, -0.01235, -0.74400),
    vec3(0.15625, 0.65432, -0.34400),
    vec3(-0.34375, -0.45679, 0.05600),
    vec3(0.65625, 0.20988, 0.45600),
    vec3(-0.59375, 0.87654, 0.85600),
    vec3(0.40625, -0.82716, -0.66400),
    vec3(-0.09375, -0.16049, -0.26400),
    vec3(0.90625, 0.50617, 0.13600),
    vec3(-0.90625, -0.60494, 0.53600),
    vec3(0.09375, 0.06173, 0.93600),
    vec3(-0.40625, 0.72840, -0.96800),
    vec3(0.59375, -0.38272, -0.56800),
    vec3(-0.65625, 0.28395, -0.16800),
    vec3(0.34375, 0.95062, 0.23200),
    vec3(-0.15625, -0.95062, 0.63200),
    vec3(0.84375, -0.28395, -0.88800),
    vec3(-0.78125, 0.38272, -0.48800),
    vec3(0.21875, -0.72840, -0.08800),
    vec3(-0.28125, -0.06173, 0.31200),
    vec3(0.71875, 0.60494, 0.71200),
    vec3(-0.53125, -0.50617, -0.80800),
    vec3(0.46875, 0.16049, -0.40800),
    vec3(-0.03125, 0.82716, -0.00800),
    vec3(0.96875, -0.87654, 0.39200),
    vec3(-0.98438, -0.20988, 0.79200)
);

CONST_ARRAY vec3 halton_3D_128[128] = vec3[](
    vec3(0.00000, -0.33333, -0.60000),
    vec3(-0.50000, 0.33333, -0.20000),
    vec3(0.50000, -0.77778, 0.20000),
    vec3(-0.75000, -0.11111, 0.60000),
    vec3(0.25000, 0.55556, -0.92000),
    vec3(-0.25000, -0.55556, -0.52000),
    vec3(0.75000, 0.11111, -0.12000),
    vec3(-0.87500, 0.77778, 0.28000),
    vec3(0.12500, -0.92593, 0.68000),
    vec3(-0.37500, -0.25926, -0.84000),
    vec3(0.62500, 0.40741, -0.44000),
    vec3(-0.62500, -0.70370, -0.04000),
    vec3(0.37500, -0.03704, 0.36000),
    vec3(-0.12500, 0.62963, 0.76000),
    vec3(0.87500, -0.48148, -0.76000),
    vec3(-0.93750, 0.18519, -0.36000),
    vec3(0.06250, 0.85185, 0.04000),
    vec3(-0.43750, -0.85185, 0.44000),
    vec3(0.56250, -0.18519, 0.84000),
    vec3(-0.68750, 0.48148, -0.68000),
    vec3(0.31250, -0.62963, -0.28000),
    vec3(-0.18750, 0.03704, 0.12000),
    vec3(0.81250, 0.70370, 0.52000),
    vec3(-0.81250, -0.40741, 0.92000),
    vec3(0.18750, 0.25926, -0.98400),
    vec3(-0.31250, 0.92593, -0.58400),
    vec3(0.68750, -0.97531, -0.18400),
    vec3(-0.56250, -0.30864, 0.21600),
    vec3(0.43750, 0.35802, 0.61600),
    vec3(-0.06250, -0.75309, -0.90400),
    vec3(0.93750, -0.08642, -0.50400),
    vec3(-0.96875, 0.58025, -0.10400),
    vec3(0.03125, -0.53086, 0.29600),
    vec3(-0.46875, 0.13580, 0.69600),
    vec3(0.53125, 0.80247, -0.82400),
    vec3(-0.71875, -0.90123, -0.42400),
    vec3(0.28125, -0.23457, -0.02400),
    vec3(-0.21875, 0.43210, 0.37600),
    vec3(0.78125, -0.67901, 0.77600),
    vec3(-0.84375, -0.01235, -0.74400),
    vec3(0.15625, 0.65432, -0.34400),
    vec3(-0.34375, -0.45679, 0.05600),
    vec3(0.65625, 0.20988, 0.45600),
    vec3(-0.59375, 0.87654, 0.85600),
    vec3(0.40625, -0.82716, -0.66400),
    vec3(-0.09375, -0.16049, -0.26400),
    vec3(0.90625, 0.50617, 0.13600),
    vec3(-0.90625, -0.60494, 0.53600),
    vec3(0.09375, 0.06173, 0.93600),
    vec3(-0.40625, 0.72840, -0.96800),
    vec3(0.59375, -0.38272, -0.56800),
    vec3(-0.65625, 0.28395, -0.16800),
    vec3(0.34375, 0.95062, 0.23200),
    vec3(-0.15625, -0.95062, 0.63200),
    vec3(0.84375, -0.28395, -0.88800),
    vec3(-0.78125, 0.38272, -0.48800),
    vec3(0.21875, -0.72840, -0.08800),
    vec3(-0.28125, -0.06173, 0.31200),
    vec3(0.71875, 0.60494, 0.71200),
    vec3(-0.53125, -0.50617, -0.80800),
    vec3(0.46875, 0.16049, -0.40800),
    vec3(-0.03125, 0.82716, -0.00800),
    vec3(0.96875, -0.87654, 0.39200),
    vec3(-0.98438, -0.20988, 0.79200),
    vec3(0.01562, 0.45679, -0.72800),
    vec3(-0.48438, -0.65432, -0.32800),
    vec3(0.51562, 0.01235, 0.07200),
    vec3(-0.73438, 0.67901, 0.47200),
    vec3(0.26562, -0.43210, 0.87200),
    vec3(-0.23438, 0.23457, -0.64800),
    vec3(0.76562, 0.90123, -0.24800),
    vec3(-0.85938, -0.80247, 0.15200),
    vec3(0.14062, -0.13580, 0.55200),
    vec3(-0.35938, 0.53086, 0.95200),
    vec3(0.64062, -0.58025, -0.95200),
    vec3(-0.60938, 0.08642, -0.55200),
    vec3(0.39062, 0.75309, -0.15200),
    vec3(-0.10938, -0.35802, 0.24800),
    vec3(0.89062, 0.30864, 0.64800),
    vec3(-0.92188, 0.97531, -0.87200),
    vec3(0.07812, -0.99177, -0.47200),
    vec3(-0.42188, -0.32510, -0.07200),
    vec3(0.57812, 0.34156, 0.32800),
    vec3(-0.67188, -0.76955, 0.72800),
    vec3(0.32812, -0.10288, -0.79200),
    vec3(-0.17188, 0.56379, -0.39200),
    vec3(0.82812, -0.54733, 0.00800),
    vec3(-0.79688, 0.11934, 0.40800),
    vec3(0.20312, 0.78601, 0.80800),
    vec3(-0.29688, -0.91770, -0.71200),
    vec3(0.70312, -0.25103, -0.31200),
    vec3(-0.54688, 0.41564, 0.08800),
    vec3(0.45312, -0.69547, 0.48800),
    vec3(-0.04688, -0.02881, 0.88800),
    vec3(0.95312, 0.63786, -0.63200),
    vec3(-0.95312, -0.47325, -0.23200),
    vec3(0.04688, 0.19342, 0.16800),
    vec3(-0.45312, 0.86008, 0.56800),
    vec3(0.54688, -0.84362, 0.96800),
    vec3(-0.70312, -0.17695, -0.93600),
    vec3(0.29688, 0.48971, -0.53600),
    vec3(-0.20312, -0.62140, -0.13600),
    vec3(0.79688, 0.04527, 0.26400),
    vec3(-0.82812, 0.71193, 0.66400),
    vec3(0.17188, -0.39918, -0.85600),
    vec3(-0.32812, 0.26749, -0.45600),
    vec3(0.67188, 0.93416, -0.05600),
    vec3(-0.57812, -0.96708, 0.34400),
    vec3(0.42188, -0.30041, 0.74400),
    vec3(-0.07812, 0.36626, -0.77600),
    vec3(0.92188, -0.74486, -0.37600),
    vec3(-0.89062, -0.07819, 0.02400),
    vec3(0.10938, 0.58848, 0.42400),
    vec3(-0.39062, -0.52263, 0.82400),
    vec3(0.60938, 0.14403, -0.69600),
    vec3(-0.64062, 0.81070, -0.29600),
    vec3(0.35938, -0.89300, 0.10400),
    vec3(-0.14062, -0.22634, 0.50400),
    vec3(0.85938, 0.44033, 0.90400),
    vec3(-0.76562, -0.67078, -0.61600),
    vec3(0.23438, -0.00412, -0.21600),
    vec3(-0.26562, 0.66255, 0.18400),
    vec3(0.73438, -0.44856, 0.58400),
    vec3(-0.51562, 0.21811, 0.98400),
    vec3(0.48438, 0.88477, -0.99680),
    vec3(-0.01562, -0.81893, -0.59680),
    vec3(0.98438, -0.15226, -0.19680),
    vec3(-0.99219, 0.51440, 0.20320)
);
